package com.example.interview.utils

import android.Manifest
import android.content.Context
import android.content.pm.PackageManager
import android.os.Environment
import androidx.core.content.ContextCompat
import org.json.JSONObject
import java.io.File
import java.io.FileWriter

object FileUtils {
    private const val FOLDER_NAME = "Interview"
    const val FILE_NAME = "hundred.json"
    private const val STORAGE_PERMISSION = Manifest.permission.WRITE_EXTERNAL_STORAGE

    fun hasStoragePermission(context: Context): Boolean {
        return ContextCompat.checkSelfPermission(
            context,
            STORAGE_PERMISSION
        ) == PackageManager.PERMISSION_GRANTED
    }

    fun createInitialJsonFile(context: Context): Boolean {
        try {
            val jsonObject = JSONObject().apply {
                put("questions", JSONObject().apply {
                    put("1", JSONObject().apply {
                        put("title", "总理要求发展地摊经济和小店经济，你怎么看？")
                        put("analysis", "这**是一道综合分析题，需要从多个角度分析地摊经济和小店经济的意义、**影响和挑战。")
                        put("answer", "第一，这是疫情之下的救急之法（何以至此、原因）。\"春江水暖鸭先知\"，**大环境好不好**，市井平民最有发言权。经济形势越严峻，他们的压力也越大。他们也需要生存，也需要谋生之道。疫情期间，经济按下暂停键，很多城市中没有固定工作、积蓄不多的人，比如滴滴司机、超市售货员、饭店服务员等，他们感受到的生活压力非常大，是我们难以想象的。我身边就有这样的人。总理答记者问时说全国月收入1000元的还有6亿人，这是个实事求是、令人触目惊心的数字，必须保证他们的就业。总理正是在这种严峻的形势之下旗帜鲜明地说出这样的话的，是给地摊经济、小店经济定性，于普通人既是利好，也是关怀。\n\n第二，地方政府要对地摊经济、小店经济负起责任（关键何在、对策）。完全放任，不做任何管理，看似环境宽松，其实是不负责任。管得太严，处处设限，又会违背发展地摊经济、小店经济的本意。这其实是个管理大课题，是对基层治理能力的大考。根据我的感受，有些地方考试是不及格的。比如，有些地方的地摊摆在主干道，影响交通；有的地方城管仍然简单粗暴，与小商小贩冲突不断，甚至酿成恶性事件。想要管好地摊经济，要拿出\"绣花功夫\"，多琢磨、多思考，措施要更加精细化、人性化。否则，就可能做成一锅夹生饭。这是地方政府的主责主业，责无旁贷。\n\n第三，想要烟火经济红红火火，我们每个人都不能当局外人（我有何为、对策）。我小时候生长在农村，毕业后一直在城市工作。我觉得看一个城市的文明程度，主要看城市中每个人的所作所为。我一直觉得一句老话特别好：\"城市是我家，管理靠大家。\"把城市当家，把城市里的事儿当自己家里的事儿，这是难得的主人翁意识。地摊经济是城市的烟火气，在它的发展中，我们都不能当局外人，必须负起责任。吃完东西，不要乱扔垃圾；摆摊结束，收拾一下垃圾；小店夜市，不要弄得污水横流。这样，烟火经济才会成为城市最美的色彩，烟火经济才能长长久久、红红火火。\n\n第四，中国城市建设要走出中国特色（古今中外、联想）。中国的城市发展历史有几千年了。我们过去一直学西方，城市都变成了钢筋水泥的丛林，仿佛有个地摊、有个小店，城市就不够现代化，就不够国际化。千城一面，没有市井气息，没有烟火气息，没有温度，也没有人情味儿。现在，我们要找回中国城市的特色，这次发展地摊经济、小店经济，就是难得的机会。希望《清明上河图》中的市井气息能在现代的中国重现，让每个人，不管身份如何、地位如何、职业如何，不管贫穷还是富有，都能在城市中感受到温暖。")
                    })
                    put("2", JSONObject().apply {
                        put("title", "金钱只能吸引一部分人，而精神价值能吸引更多人，你怎么看？")
                        put("analysis", "这是一道价值观分析题，需要辩证地看待物质和精神的关系，以及它们对人的吸引力。")
                        put("answer", "第一，我也希望精神价值比金钱能吸引更多的人。这让我想起抗日战争时期，延安的共产党吃的是窝窝头，住的是窑洞；重庆的国民党喝的是红酒，住的是公馆。共产党比国民党要艰苦得多，没有钱拿，甚至还要丢掉性命，但是无数青年涌向延安，加入共产党，加入红军。那个年代，共产党抗日救国的精神价值就比国民党当官发财的金钱观能够吸引更多人。也正因为如此，我们的民族才能凤凰涅槃，重新焕发生机。\n\n第二，财富不是魔鬼。俗话说\"站着挣钱，不丢人\"。劳动者自食其力，不但不低级，反而很光荣。现在我们鼓励人们追逐自己的梦想，而梦想也包括更好的生活、教育、医疗，这些都需要财富来保障。同时，人的追求自有其规律，一般首先要满足物质生活的需要，再满足精神生活的需要，这是两步走的过程。不应该指责追求财富的年轻人，他们的成长需要时间，这才是实事求是的态度。\n\n第三，只追求金钱，或者用不正当的手段获得金钱，才是误入歧途。年轻人想做大事，就不要总想着做大官、挣大钱。一心只想着钱，那是偏激的。再一个，如果想通过歪门邪道捞钱，那更是错上加错。须知，法网恢恢疏而不漏，违背良心、法律、道德获取金钱，不但会良心不得安宁，而且总有一天也会搬起石头砸自己的脚。人生中还有很多比钱更重要的东西，比如梦想，比如健康，比如人生的价值，比如家庭的幸福等。\n\n第四，我们需要弘扬更加阳刚的精神价值，提振起民族的精气神。我喜欢看老电影，里面的人不管再穷、再难，都能挺直腰杆，精神抖擞。这种精神气质，是我们民族最宝贵的东西。当前，一些歪风邪气、一些腐朽的价值观，像拜金主义等正在通过各种渠道侵害我们民族的精神，这是需要高度警惕的。我们要提高宣传的能力和水平，讲出更有感召力的故事，宣传更有人情味儿的英雄，用新时代的精神价值吸引更多的人。这样，题目中这句话才会成为现实。")
                    })
                })
            }

            val externalStorageDir = Environment.getExternalStorageDirectory()
            val appFolder = File(externalStorageDir, FOLDER_NAME)
            if (!appFolder.exists()) {
                appFolder.mkdirs()
            }

            val dataFolder = File(appFolder, "data")
            if (!dataFolder.exists()) {
                dataFolder.mkdirs()
            }

            val file = File(dataFolder, FILE_NAME)
            if (!file.exists()) {
                file.createNewFile()
                FileWriter(file).use { writer ->
                    writer.write(jsonObject.toString(4))
                }
                return true
            }
            return false
        } catch (e: Exception) {
            e.printStackTrace()
            return false
        }
    }

    fun createHundredFile(context: Context): File {
        val file = File(context.getExternalFilesDir(null), FILE_NAME)
        if (!file.exists()) {
            file.createNewFile()
            val jsonObject = JSONObject()
            val questionsObject = JSONObject()
            jsonObject.put("questions", questionsObject)
            
            FileWriter(file).use { writer ->
                writer.write(jsonObject.toString())
            }
        }
        return file
    }
} 